package com.jml.排序;

public class 冒泡排序 {

	private int[] array;

	private int nElements;

	public 冒泡排序(int max) {
		this.array = new int[max];
	}

	public void insert(int element) {
		array[nElements] = element;
		nElements ++;
	}

	public void bubbleSort() {
		if (array == null || array.length < 2) {
			return;
		}

		for(int i = nElements - 1 ; i > 0 ; i --) {
			for(int j = 0 ; j < i ; j ++) {
				if(array[j] > array[j + 1]) {
					swap(j, j + 1);
				}
			}
		}
	}

	private void swap(int left, int right) {
		int temp = array[left];
		array[left] = array[right];
		array[right] = temp;
	}

	public int[] getArray() {
		return array;
	}

	public static void main(String[] args) {
		冒泡排序 ab = new 冒泡排序(5);
		ab.insert(4);
		ab.insert(3);
		ab.insert(5);
		ab.insert(2);
		ab.insert(1);
		ab.bubbleSort();
		for(int i : ab.getArray()) {
			System.out.println("i:" + i);
		}

	}
}
